package com.smedi.ismedi.progress.core.application.query;

import com.smedi.ismedi.progress.core.application.command.ProgressDetailCommand;
import com.smedi.ismedi.progress.core.application.command.ProgressViewCommand;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProgressDetail;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProgressKanbanDetails;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProgressView;
import com.smedi.ismedi.progress.core.domain.aggregatemodel.ProjectScheduleDetail;

import java.util.List;

/**
 * 审批查询服务
 *
 * @author pengyan
 * @date 2022/09/19
 */
public interface ProgressViewQueryService {


    /**
     * 审批/查看页面
     * @param progressViewCommand
     * @return
     */
    ProgressView scheduleViewAndApproval(ProgressViewCommand progressViewCommand);

    /**
     * 审批页面 删除
     * @param progressViewCommand
     */
    void removeProgressPojectVersion(ProgressViewCommand progressViewCommand);

    /**
     * 进度计划详情页
     * @param progressDetailCommand
     * @return
     */
    ProgressDetail scheduleDetails(ProgressDetailCommand progressDetailCommand);

    /**
     * 进度计划详情页-APP
     * @param progressDetailCommand
     * @return
     */
    List<ProjectScheduleDetail> scheduleDetailsByApp(ProgressDetailCommand progressDetailCommand);

    /**
     * 关键线路详情
     * @param progressDetailCommand
     * @return
     */
    ProgressDetail keywordDetails(ProgressDetailCommand progressDetailCommand);

    /**
     * 进度看板详情
     * @param progressDetailCommand
     * @return
     */
    ProgressKanbanDetails progressKanbanDDetails(ProgressDetailCommand progressDetailCommand);

}

